package com.todo.strategy.online.iface.request;

import com.todo.common.common.entity.CurrentUser;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author azhebuxing
 * @date 2024/5/9 17:33
 * @description
 */
@Data
@Schema(title = "跟新用户攻略入参", description = "跟新用户攻略入参")
public class UpdateUserStrategyParam {

    private CurrentUser _user;

    @Schema(title = "攻略Id", description = "攻略Id")
    private Long strategyId;

    @Schema(title = "计划id", description = "计划id")
    private Long planId;

    @Schema(title = "标题", description = "标题")
    private String title;

    @Schema(title = "出行体验", description = "出行体验")
    private TravelGuide guide;

    @Schema(title = "出行建议", description = "出行建议")
    private Suggest suggest;

    @Schema(title = "是否私有", description = "是否私有")
    private Integer isPrivate;

    @Schema(title = "是否关联攻略文章", description = "是否关联攻略文章")
    private Integer isAssociatePlanContent;

    @Schema(title = "是否允许评论", description = "是否允许评论")
    private Integer allowComment;

    @Schema(title = "主图", description = "主图")
    private String mainImg;


    public boolean baseCheck() {
        if (strategyId == null || planId == null || title == null || isPrivate == null || allowComment == null || mainImg == null) {
            return false;
        }
        return true;
    }


    @Data
    public static class TravelGuide {

        @Schema(title = "城市体验", description = "城市体验")
        private String cityExp;

        @Schema(title = "游玩体验", description = "游玩体验")
        private String playExp;

        @Schema(title = "出行体验", description = "出行体验")
        private String travelExp;

        @Schema(title = "美食体验", description = "美食体验")
        private String foodExp;
    }

    @Data
    public static class Suggest {

        @Schema(title = "旅游建议", description = "旅游建议")
        private String travelSuggest;

        @Schema(title = "安全建议", description = "安全建议")
        private String securitySuggest;

        @Schema(title = "踩坑点", description = "踩坑点")
        private String defectSuggest;

        @Schema(title = "槽点", description = "槽点")
        private String disclose;
    }
}
